Add minimal version of #2595 to test suite (test currently fails)
authorJohn Ericson <Ericson2314@Yahoo.com>
Thu, 14 Jul 2016 08:44:31 +0000 (01:44 -0700)
committerJohn Ericson <Ericson2314@Yahoo.com>
Thu, 14 Jul 2016 18:47:12 +0000 (11:47 -0700)
tests/overrides.rs

index b4a385fb8f5357d6ce6cfa70766f02342629b501..46f118a44574f3cdccb5af395f4ab19f808d95c6 100644 (file)
@@ -617,3 +617,55 @@ fn update() {
 [UPDATING] git repository `[..]`
 "));
 }
+
+// local -> near -> far
+// near is overridden with itself
+#[test]
+fn no_override_self() {
+    let deps = git::repo(&paths::root().join("override"))
+
+        .file("far/Cargo.toml", r#"
+            [package]
+            name = "far"
+            version = "0.1.0"
+            authors = []
+        "#)
+        .file("far/src/lib.rs", "")
+
+        .file("near/Cargo.toml", r#"
+            [package]
+            name = "near"
+            version = "0.1.0"
+            authors = []
+
+            [dependencies]
+            far = { path = "../far" }
+        "#)
+        .file("near/src/lib.rs", r#"
+            #![no_std]
+            pub extern crate far;
+        "#);
+
+    deps.build();
+
+    let p = project("local")
+        .file("Cargo.toml", &format!(r#"
+            [package]
+            name = "local"
+            version = "0.0.1"
+            authors = []
+
+            [dependencies]
+            near = {{ git = '{0}' }}
+
+            [replace]
+            "near:0.1.0" = {{ git = '{0}' }}
+        "#, deps.url()))
+        .file("src/lib.rs", r#"
+            #![no_std]
+            pub extern crate near;
+        "#);
+
+    assert_that(p.cargo_process("build").arg("--verbose"),
+                execs().with_status(0));
+}